A portion of the disclosure of this patent document contains material to which a claim of copyright protection is made. The copyright owner has no objection to the facsimile reproduction of any one of the patent documents or the patent disclosure, as it appears in the U.S. Patent and Trademark Office patent file or records, but reserves all other rights whatsoever.
A photofinishing process is a procedure for converting a latent image on the photographic plate to an actual image. It has been known for a long time that some silver salts, such as silver bromide and silver iodide (collectively called silver halides), are sensitive to light. When silver halide is exposed to light, the structure of the silver halide will be changed. It was also noted that unexposed and exposed silver halides have different chemical characteristics. When a thin layer of silver halide emulsion is put on a plate which is later exposed to different light intensities, a latent image is formed on the plate. By placing the plate in a developer solution, the exposed silver halide is reduced to metallic silver, while the unexposed silver halide is not affected. The unexposed silver halide can then be dissolved and washed away in the subsequent steps, leaving the metallic silver behind. Because of the special molecular structure of the reduced metallic silver it actually appears in black rather than in "silver" color, resulting in a black-and-white picture.
Color processing is more complicated. Based on the tri-color theory (red, green and blue for the additive method or their corresponding complementary colors, cyan, magenta and yellow for the subtractive method), the whole color spectrum can be reproduced by using just three primary colors. In photography, the subtractive method is extensively used. Three layers of silver halide emulsion that contain (or are later caused to contain) dyes of cyan, magenta and yellow are made to become sensitive only to red, green and blue light, respectively. Thus, three overlapping images of cyan, magenta and yellow colors are formed, resulting in a color picture.
There are many different photofinishing processes in use today. For example, the pictures that we take using KODACOLOR.TM. films (or equivalent ones) are first processed using process C-41 to develop the color negatives. The color negatives are then used with a printer to produce latent images on Kodak EKTACOLOR.TM. paper (or equivalent paper) which are then developed using process EP-2 to produce the color prints.
Color slides such as Kodak EKTACHROME.TM. films are developed using process E-6. Process E-6 is a reversal process which first develops the exposed film using a black-and-white developer. The film is then re-exposed and developed using a color developer, resulting in a positive image. Process K-14 is used for developing color slides on KODACHROME.TM. film. It includes a black-and-white developer followed by re-exposures and three color developers (one for each subtractive primary color) to form a positive image. It is by far the most complex photofinishing process.
Photofinishing is a chemical process that can be characterized by a set of variables, or the chemical and physical parameters. A real-time direct control of the chemical process could be implemented, if thorough feedback, information as to all of the state variables could be obtained at any time. Physical parameters, such as temperature of solution, the amount of time the film is in a solution, the replenishment rate of the solution, etc. can be measured on a timely basis. However, chemical parameters, such as the composition and concentration of chemicals in a processing solution, are very difficult to measure instantaneously and precisely. It seems that real-time direct control of photofinishing processes is beyond the technology available today. Since photofinishing processes are dynamic in nature, the controlling parameters may drift with time with various degrees of severity. Control is further complicated by human factors such as mixing the chemicals, setting the temperatures, etc. A process that once produced excellent pictures may produce pictures that are no longer acceptable. Thus, some way to keep a photofinishing process in control is necessary and this is usually done by human experts through examining the pictures produced. To do this objectively, a filmstrip (commonly known as a control strip 10) that is pre-exposed to different intensities of light under controlled conditions is processed with a customer's work to determine the status of the process. FIG. 1 illustrates a typical control strip 10 for Process E-6. At the top of this control strip, there are three color patches (yellow 12, magenta 14, and cyan 16) which are pre-exposed only to blue, green and red light respectively. These patches provide an easy-eye examination of the quality of the individual color. In the middle of the strip is the "gray" scale; it is a series of patches exposed to increasing intensities of white light. Based on these patches, characteristic curves such as the one in FIG. 2 can be drawn. Usually, characteristic curves are characterized by four points corresponding to four levels (steps) of exposure on the control strip 10. They are the minimum density step (D-MIN), low density step (LD or speed step), high density (HD or color step) and maximum density step (D-MAX). The red, green and blue densities at these exposure levels are read using a densitometer (not shown) and are compared against reference values. The deviations from the reference values are then plotted to monitor the status of the process. FIG. 3 shows typical deviation plots on a color process record form. In this figure, there are a number of solid lines and dotted-line pairs running across the form. The solid lines 28 indicate the aims of the parameters. The closer the plots are to the aims, the better the pictures. For each pair of dotted lines 30, the one that is closer to the aim defnes the action limit. When a parameter moves beyond the action limit, this implies that the process is beginning to get out-of-control and action should be taken to bring the parameter back. The dotted line 30 that is further away from the aim defines the control limit. When a parameter goes outside the control limit, the process is totally out-of-control and processing should be stopped, or unsatisfactory pictures will result.
Using FIG. 3 as an example, when the green speed step 32, plotted on this chart, moved above the action limit at 12:20 on Sept. 5, it was discovered that the underlying cause of the problem was that the first developer temperature was too low. Corrective action was taken to adjust the first developer temperature and the process was brought back under control.
This process of determining the underlying cause or causes is known as photofinishing process diagnosis. To assist processing experts (or novices) in diagnosing process control problems, many control plots are documented showing how each chemical or physical parameter affects the color densities at various exposure levels. FIG. 4 is an example of such control plots and shows the effect of color developer over replenishment.
Since there are many physical and chemical parameters, and each control plot only shows the effect of a single parameter, the control plots are only helpful in a limited way to determine the possible cause (or causes) when, in real life, control problems usually have multiple causes. Over the years, a processing expert develops a set of hunches which are not documented in any way to solve processing control problems. However, these experts are hard to come by and many of them will sooner or later retire and/or leave and take with them their trouble-shooting expertise.
Therefore, it appears helpful to have a computer-aided diagnostic system based on current expert system technology to preserve the process diagnostic expertise and to aid personnel who are involved in photofinishing process diagnosis. Ultimately, such a tool can be made available to people not having any direct involvement or engineering knowledge and no specific knowledge of the underlying expert system technology.
In most areas of artificial intelligence, that branch of computer science which attempts to have machines simulate intelligent behavior, programs fall far short of the competence of humans or even animals. Computer systems designed to see images, hear sounds, and recognize speech are still in fairly early stages of development. However, in one area, that of reasoning or knowledge in a limited domain, computer programs cannot only approach human performance but in some cases they can exceed it.
These programs use a collection of facts, rules of thumb, and other knowledge about a given field, coupled with methods of applying those rules, to make inferences. They solve problems in such specialized fields as medical diagnosis, mineral exploration, and oil well log interpretation. They differ substantially from conventional computer programs because their applications are heuristic rather than algorithmic in nature.
Knowledge systems are computer systems that emulate reasoning tasks by using an "inference engine" to interpret machine readable knowledge stored in a "knowledge base". Knowledge systems are becoming useful for problems that require diagnosis, recommendation, selection or classification. Such tasks have in the past been performed by human experts. It is becoming known that if the domain of the knowledge base, or scope of the problem, is sufficiently narrow and a sufficiently large body of knowledge is properly encoded in the knowledge base, then the knowledge system can achieve performance matching or even exceed the ability of the human expert. In such a case, the knowledge system becomes an "expert system".
There are many expert system-building tools in use today to build expert systems. These tools range from special purpose ones, which are designed mainly for some particular applications, to general purpose ones, which contain a multitude of knowledge representation structures. Many of these tools were developed in universities and research institutes as research tools and have remained as such while some became commercially available, or were developed solely for commercial purposes.
Of the systems in use, there are four general categories, which are rule-based tools, inductive tools, domain specific tools, and hybrid tools. Rule-based tools and domain specific tools are more applicable to the problems and systems developed herein. Domain specific tools are designed specifically to develop expert systems for a particular domain. Therefore, these tools are most effective for the intended domain, but may not be suitable for others. IN-ATE.TM. (trademark of Automated Reasoning, Corp.) is an example of such a tool that learns as it is used. Such an expert system environment is specifically designed for fault diagnosis type of problems; that is, that the program remembers what has failed and automatically readjusts the reliability database and the rules accordingly. It is precisely this learning feature that does not lend itself to such tasks as photofinishing diagnosing of such things as a film processor where many rolls of film may be lost or damaged during the learning cycle.
The present invention uses a rule-based tool as the basic knowledge representation technique, which uses IF-THEN rules. Two types of control strategies are available, namely, forward chaining and backward chaining. Forward chaining strategy starts from the data and works to the conclusion, whereas backward chaining strategy starts from the stated goal and finds the plausibility of the goal by examining the conditions of the goal.
OPS5 is an example of a forward chaining rule base that is a rule-based expert system tool. It was developed at Carnegie-Mellon University as part of the OPS family of languages for expert systems and cognitive psychology. It is characterized by having a global database and condition-action rules programmed in the form of productions which operate on the global database.
The basic (and only) data structure in the global database is called "class", which is equivalent to the idea of a record in procedural languages. Each class has a class name and consists of a number of fields called attributes. An attribute may be either scalar, which contains one atom, or a vector, which contains a list of atoms. There are three types of atoms: symbols, integers, and floating-type numbers. One restriction about class definition is that there may be at most one vector attribute per class. Instances of classes are called elements. Elements can be created, modified, or destroyed through actions which are the basic components of the right-hand side of production rules.
Production rules in OPS5 employ forward chaining strategy. The left-hand side of a production rule describes the conditions under which the rule may be activated. The conditions here refer to the current state of the database. The right-hand side of a production rule describes the actions to be taken when the rule is activated. In general, the actions will affect the current state of the database and thus which rule is to be activated next. The rules can be regarded as independent, parallel processes constantly monitoring the current state of the database and waiting for the conditions necessary for them to become activated. Only one rule may be activated at a given time. When the conditions are met for more than one rule, a conflict is said to occur. OPS5 resolves the conflicts by preferring the rule with more stringent conditions and/or conditions that match elements which are most recently created or modified. (Therefore, each element carries with it a time-stamp, indicating the time it was created or last modified.) After the preferred rule is fired, the state of the database may be changed and all rules have to re-check their conditions again for firing. This is known as the recognized-act cycles in OPS5.